package club.yunqiang.club.templatedownload.domain.dto;

import lombok.Data;
import org.apache.poi.ss.usermodel.Name;

import java.util.List;

/**
 * 表格下拉数据
 *
 * @author 张云强
 * @since 2023/06/12
 */
@Data
public class DropDownDataFillDTO {

    /**
     * 工作薄下标
     */
    private int sheetIndex;

    /**
     * 工作薄下拉选项数据描述
     */
    private List<DataDescriptions> dataDescriptions;

    /**
     * 数据描述
     */
    @Data
    public static class DataDescriptions {

        /**
         * 开始行下标
         */
        private Integer startRowIndex;

        /**
         * 结束行下标
         */
        private Integer endRowIndex;

        /**
         * 开始列下标
         */
        private Integer startColumnIndex;

        /**
         * 结束列下标
         */
        private Integer endColumnIndex;

        /**
         * 数据类型
         */
        private DataType dataType;

        /**
         * 数据key
         */
        private String dataKey;

        /**
         * 单元格下拉数据校验名称
         */
        private Name namedCell;

        /**
         * 下拉选项数据
         */
        private List<String> dataList;

    }

    /**
     * 数据类型
     */
    public enum DataType {

        /**
         * 数据字典
         */
        dict,

        /**
         * 数据服务
         */
        IDataFillService;

    }
}